﻿//using Microsoft.Win32;
//using System;
//using System.Collections.Generic;
//using System.IO;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;
//#if WINDOWS
//using System.Management.Automation;

//class Program
//{
//	static void Main(string[] args)
//	{

//		try
//		{ 
//			//  适用  C#的注册表格式 
//			var regeditPath = @"Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings\";
//			// 打开注册表键
//			RegistryKey key = Registry.CurrentUser.OpenSubKey(regeditPath);
//			var result = new List<string>(); 

//			var   resultPath  =new List<string>();  
//			if (key != null)
//			{
//				// 获取所有子键（UWP 应用）
//				List<RegistryKey>  appsDirectory = key.GetSubKeyNames()
//					 .Select(subKey => key.OpenSubKey(subKey))
//				  .ToList();



//				foreach (var appDirectory in appsDirectory)
//				{
//					string displayName = appDirectory.GetValue("DisplayName", "Unknown").ToString(); // 使用默认值 "Unknown" 防止 GetValue 返回 null

					   
//					string appPath =getAllPathsByPowershell(displayName );
//					Console.WriteLine(displayName + " - " + appPath);
				  
//				}
//				Console.WriteLine("Count of UWP apps: " + result.Count);
				 
//			}
//			else
//			{
//				Console.WriteLine("指定的注册表路径不存在。");
//			}
//		} 

//		catch (Exception ex)
//		{
//			// 打印基本信息
//			Console.WriteLine("Exception Message: " + ex.Message);

//			// 打印堆栈信息
//			Console.WriteLine("Stack Trace: " + ex.StackTrace);

//			// 如果有内层异常，则递归打印内层异常
//			if (ex.InnerException != null)
//			{
//				Console.WriteLine("Inner Exception Message: " + ex.InnerException.Message);
//				Console.WriteLine("Inner Exception Stack Trace: " + ex.InnerException.StackTrace);
//			}
//		}
//	}

//	static string getAllPathsByPowershell(string displayName)
//	{
//		// 创建 PowerShell 会话
//		using (PowerShell powerShell = PowerShell.Create())
//		{
//			// 添加 PowerShell 命令
//			powerShell.AddCommand("Get-AppxPackage")
//					  .AddCommand("Where-Object")
//					  .AddArgument("{ $_.Name -like '*" + displayName + "*' }")
//					  .AddCommand("Select-Object")
//					  .AddArgument("Name")
//					  .AddArgument("InstallLocation");

//			// 执行命令
//			var results = powerShell.Invoke();

//			// 处理结果
//			foreach (var result in results)
//			{
//				var name = result.Properties["Name"]?.Value;
//				var installLocation = result.Properties["InstallLocation"]?.Value;
//				Console.WriteLine($"App Name: {name}");
//				Console.WriteLine($"Install Location: {installLocation}");
//				Console.WriteLine(new string('-', 50));
//			}
//			return ""; 
//		}

//	}
//}

//#endif